c语言程序设计 在线等`

来源:百度知道 编辑:UC知道 时间:2024/05/31 23:02:43
我老师让我写一个计算机课程设计报告
题目 百叶窗
目的:让学生掌握图形控制寄存器的功能,设置像素函数,从而制作出逐条从上而下显示的效果.
基本要求;运用模块化的设计思想完成各功能模块的设计,程序运行界面美观,写出详细设计说明书.
1、问题描述 当程序运行后,屏幕上从上到下显示百叶窗,直到百叶窗覆盖了屏幕,按下任意键时百叶窗慢慢收起,再按一次任意键,则结束程序.
2、基本原理
本例主要利用图形控制寄存器的功能,设置像素函数,从而制作出逐条直线从下而上显示的效果.用到双FOR循环语句来控制直线的条数.同样,在清楚时,也是利用图形控制寄存器功能写像素函数与双FOR循环语句来插除直线.
3程序总体结构设计
主函数由屏幕初始话函数和设置像素函数两部分构成!

是TC

不知你是否在线,我写好了一个,TC或WINTC 己OK.源码去我们论坛下.我发到那上面了.
改变延时函数值可改变百叶窗放下收起速度.
http://sprogram.cn/bbs/read.php?tid=836

#include "stdio.h"
#include "conio.h"
#include <graphics.h>

void my_delay(int clicks)
{
unsigned int far *clock=(unsigned int far *)0x0000046CL;
unsigned int now;
now=*clock;
while(abs(*clock-now)<clicks){}
}

main()
{
int gd=DETECT,gm;

int flag,i,j,k,l,x,y,maxx,maxy,key;

registerbgidriver(EGAVGA_driver);
initgraph(&gd,&gm,"");

maxx=getmaxx()+1;
maxy=getmaxy()+1;

x=maxx/16;

setfillstyle(1,2);
bar(x,5,maxx-x,19);

x=maxx/8;

setfillstyle(1,15);
bar(x,4,maxx-x,19);

x=maxx/16+10;

for(i=20;i<=maxy-60;i+=15){
setfillstyle(1,15);